package com.ctshk.rpc.custom.req.trip;

import com.ctshk.common.req.MainData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

/**
 * <p>
 * 团队高级设置req
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-01-21
 */
@Data
@ApiModel(value="TripScheduleAdvancedReq对象", description="团队高级设置req")
public class TripScheduleAdvancedReq implements Serializable {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "是否需要旅游小费")
    private Integer needTripConsumption;
    @ApiModelProperty(value = "小费主数据ID")
    private Long consumptionId;
    @ApiModelProperty(value = "小费主数据名称")
    private String consumptionName;
    @ApiModelProperty(value = "是否茶会")
    private Integer hasTeaParty;
    @ApiModelProperty(value = "茶会地点主数据ID")
    private Long teaPartyLocId;
    @ApiModelProperty(value = "茶会日期")
    private LocalDate teaPartyDate;
    @ApiModelProperty(value = "茶会时间")
    private LocalTime teaPartyTime;
    @ApiModelProperty(value = "茶会备注")
    private String teaPartyRemark;
    @ApiModelProperty(value = "徽章颜色主数据ID")
    private Long badgeColorId;

    @ApiModelProperty(value = "导游领队要求")
    private String guideRequirement;
    @ApiModelProperty(value = "出发地区主数据ID")
    private Long departureAreaId;

    @ApiModelProperty(value = "集合地区主数据ID")
    private Long collectionAreaId;
    @ApiModelProperty(value = "集合地点主数据ID")
    private Long collectionPlaceId;

    @ApiModelProperty(value = "集合时间")
    private LocalTime collectionTime;
    @ApiModelProperty(value = "集合时间(1 首天 2前一天)")
    private Integer collectionDateType;
    @ApiModelProperty(value = "解散地区主数据ID")
    private Long dissolutionAreaId;

    @ApiModelProperty(value = "解散地点主数据ID")
    private Long dissolutionPlaceId;

    @ApiModelProperty(value = "解散时间")
    private LocalTime dissolutionTime;
    @ApiModelProperty(value = "解散时间类型（1 尾天 2 后一天）")
    private Integer dissolutionDateType;
    @ApiModelProperty(value = "去程咨询")
    private String departureConsulation;
    @ApiModelProperty(value = "去程时间")
    private LocalTime departureTime;
    @ApiModelProperty(value = "去程时间(1 首天 2 前一天)")
    private Integer departureDateType;
    @ApiModelProperty(value = "去程到达时间类型(1 首天 2 前一天)")
    private Integer goArriveDateType;
    @ApiModelProperty(value = "去程到达时间")
    private LocalTime goArriveTime;
    @ApiModelProperty(value = "去程交通类型主数据ID")
    private Long departureTrafficTypeId;
    @ApiModelProperty(value = "去程交通类型")
    private String departureTrafficType;
    @ApiModelProperty(value = "返程咨询")
    private String returnConsulation;
    @ApiModelProperty(value = "返程时间")
    private LocalTime returnTime;
    @ApiModelProperty(value = "回程时间类型（1 尾天 2 后一天）")
    private Integer returnDateType;
    @ApiModelProperty(value = "返程达到时间类型(1 首天 2 前一天)")
    private Integer returnArriveDateType;
    @ApiModelProperty(value = "返程到达时间")
    private LocalTime returnArriveTime;
    @ApiModelProperty(value = "返程交通类型主数据ID")
    private Long returnTrafficTypeId;

    @ApiModelProperty(value = "退团扣费规则ID")
    private Long deductionRulesId;

    @ApiModelProperty(value = "旅客资料收费规则")
    private List<TripScheduleInfoChangeRuleReq> changeRuleReqList;
}
